package estados.vertices;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RadialGradientPaint;
import java.awt.geom.Point2D;

import Classes.Vertice;
import Classes.VerticeGUI;

import estados.interfaces.EstadoVertice;

public class EstadoVerticeAlgoritmoSemAnimacaoNaoVisitado implements
		EstadoVertice {
	private Vertice refVertice ;

	public EstadoVerticeAlgoritmoSemAnimacaoNaoVisitado(Vertice v) {
		this.refVertice = v ;
	}

	public EstadoVerticeAlgoritmoSemAnimacaoNaoVisitado() {
	}
	

	public void setVertice(Vertice vertice) {
		this.refVertice = vertice ;
	}

	public Vertice getVertice() {
		return this.refVertice ;
	}
	
	public void desenhar(Graphics2D g2) {

		VerticeGUI.setElipseVetice(getVertice().getVerticeGrafico().getCentro(), getVertice().getVerticeGrafico().getRaio()) ;		//seta a elipse universal para ser o vertice atual	
		g2.setPaint(new RadialGradientPaint(new Point2D.Double(refVertice.getVerticeGrafico().getCentro().getX()-refVertice.getVerticeGrafico().getRaio()/2,refVertice.getVerticeGrafico().getCentro().getY()-refVertice.getVerticeGrafico().getRaio()/2) ,refVertice.getVerticeGrafico().getRaio(),new float[] {0.0f, 1.0f},new Color[] {new Color(255,255,144), new Color(211,0,0)})) ;
		
		g2.fill(VerticeGUI.getElipseVetice()) ;
		g2.setPaint(Color.BLACK) ;
		g2.drawString(Integer.toString(refVertice.getId()),((int)refVertice.getVerticeGrafico().getCentro().getX())-5, ((int)refVertice.getVerticeGrafico().getCentro().getY())+8) ;
		g2.draw(VerticeGUI.getElipseVetice()) ;
		
	}

	
	public String toString() {
		return "EstadoVerticeAlgoritmoSemAnimacaoNaoVisitado" ;
	}


}
